local 管理工具类 = class()

function 管理工具类:初始化()
end

function 管理工具类:数据处理(id, 序号, 数据)
	local 玩家id = 数据.id + 0

	if 玩家数据[id].账号 == nil or 玩家数据[id].账号 == "" then
		local 封禁临时ip = 数据.ip

		f函数.写配置(程序目录 .. "ip封禁.ini", "ip", 封禁临时ip, "1")

		return
	end

	local 管理 = f函数.读配置(程序目录 .. "data\\" .. 玩家数据[id].账号 .. "\\账号信息.txt", "账号配置", "管理")

	if 管理 == 0 then
		local 封禁临时ip = 数据.ip

		f函数.写配置(程序目录 .. "ip封禁.ini", "ip", 封禁临时ip, "1")

		return
	end

	local 账号, 类型 = nil
	local 发送信息 = {}
	local 管理日志 = ""
	local 充值日志 = ""

	if 玩家id == 0 then
		local 玩家名称 = 数据.名称

		for i = 1, #名称数据 do
			if 名称数据[i].名称 ~= nil and 名称数据[i].名称 == 玩家名称 then
				if 名称数据[i].id == nil then
					return
				else
					玩家id = 名称数据[i].id

					break
				end
			end
		end
	end

	local 小风检测 = f函数.读配置(程序目录 .. "data\\" .. 玩家数据[id].账号 .. "\\账号信息.txt", "账号配置", "管理") + 0

	if 玩家数据[id].账号 ~= 管理账号 then
		写配置("./ip封禁.ini", "ip", 玩家数据[id].ip, 1)
		写配置(程序目录 .. "data\\" .. 玩家数据[id].账号 .. "\\账号信息.txt", "账号配置", "封禁", "1")
		写配置("./ip封禁.ini", "异常记录", 时间转换(os.time()) .. "异常账号：" .. 玩家数据[id].账号 .. "  异常IP：" .. 玩家数据[id].ip, 1)
		__S服务:断开连接(玩家数据[id].连接id)
		__gge.print(false, 13, "--------------------------GM工具过检测失败----------------------------\n")
		__gge.print(false, 6, 时间转换(os.time()))
		__gge.print(false, 11, "连接账号：")
		__gge.print(false, 12, 玩家数据[id].账号)
		__gge.print(false, 11, "连接者IP: ")
		__gge.print(false, 12, 玩家数据[id].ip .. "\n")
		__gge.print(false, 13, "-----------------------断开连接请检查ip封禁文件------------------------\n")
		广播消息({
			频道 = "xt",
			内容 = format("玩家#G" .. 玩家数据[id].角色.数据.名称 .. "#意图使用辅助软件已被封号处理,请大家切勿使用辅助软件1")
		})
	else
		__gge.print(false, 10, "---------------------------GM工具过检测成功---------------------------\n")

		if 玩家id ~= 0 and 玩家id ~= 1 and 玩家数据[玩家id] == nil and 序号 ~= 6204 then
			常规提示(id, "#Y/玩家不在线,或者id输入错误")

			return
		elseif 玩家id ~= 0 and 玩家id ~= 1 and 玩家数据[玩家id] == nil and 序号 == 6204 and 数据.类型 ~= "封禁账号" and 数据.类型 ~= "封禁ip" and 数据.类型 ~= "解封账号" and 数据.类型 ~= "解封ip" then
			常规提示(id, "#Y/玩家不在线,或者id输入错误")

			return
		elseif 玩家id == 0 then
			常规提示(id, "#Y/id输入错误或者玩家名输入错误")

			return
		end

		if 序号 >= 6201 and 序号 < 6206 then
			if 序号 == 6204 and (数据.类型 == "封禁账号" or 数据.类型 == "封禁ip" or 数据.类型 == "解封账号" or 数据.类型 == "解封ip") then
				if 玩家数据[玩家id] == nil then
					for i = 1, #名称数据 do
						if 名称数据[i].id ~= nil and 名称数据[i].账号 ~= nil and 名称数据[i].id == 玩家id then
							账号 = 名称数据[i].账号
						end
					end
				else
					账号 = 玩家数据[玩家id].账号
				end
			else
				账号 = 玩家数据[玩家id].账号

				if f函数.文件是否存在("tysj" .. "/管理记录.txt") == false then
					写出文件("tysj" .. "/管理记录.txt", "管理日志" .. "\n")
				else
					管理日志 = 读入文件("tysj" .. "/管理记录.txt")
				end

				if f函数.文件是否存在("data/" .. 账号 .. "/充值记录.txt") then
					充值日志 = 读入文件("data/" .. 账号 .. "/充值记录.txt")
				else
					写出文件("data/" .. 账号 .. "/充值记录.txt", "充值记录" .. "\n")
				end
			end
		end

		if 序号 == 6201 then
			local 充值类型 = ""
			local 充值数额 = 0
			local cz = {
				"仙玉数额",
				"银子数额",
				"储备数额",
				"经验数额",
				"充值积分",
				"充值点卡"
			}
			类型 = 数据.类型

			for i = 1, #cz do
				if 类型[cz[i]] ~= nil then
					充值数额 = 类型[cz[i]]

					if i == 1 then
						充值类型 = "仙玉"

						添加仙玉(充值数额, 账号, 玩家id, "GM工具充值")
					elseif i == 2 then
						充值类型 = "银子"

						玩家数据[玩家id].角色:添加银子(充值数额, "GM工具充值")
					elseif i == 3 then
						充值类型 = "储备"

						玩家数据[玩家id].角色:添加储备(充值数额, "GM工具充值")
					elseif i == 4 then
						充值类型 = "经验"

						玩家数据[玩家id].角色:添加经验(充值数额, "GM工具充值")
					elseif i == 5 then
						充值类型 = "VIP积分"

						if VIP定制 then
							if VIP数据[玩家id] == nil then
								VIP数据[玩家id].VIP经验 = 0
								VIP数据[玩家id].VIP1状态 = false
								VIP数据[玩家id].VIP2状态 = false
								VIP数据[玩家id].VIP3状态 = false
								VIP数据[玩家id].VIP4状态 = false
								VIP数据[玩家id].VIP5状态 = false
							end

							VIP数据[玩家id].VIP经验 = 充值数额
						else
							常规提示(id, "#Y/暂未开放积分充值")

							return
						end
					elseif i == 6 then
						充值类型 = "点卡"

						添加点卡(充值数额, 账号, 玩家id, "GM工具充值")
					end

					常规提示(玩家id, "#Y/你获得了" .. 充值数额 .. 充值类型)
					常规提示(id, "#Y/充值" .. 充值类型 .. "成功！")

					管理日志 = 管理日志 .. format("%s：为玩家[%s]充值%s点%s", 时间转换(os.time()), 玩家id, 充值数额, 充值类型) .. "\n"

					写出文件("tysj" .. "/管理记录.txt", 管理日志)

					充值日志 = 充值日志 .. format("%s：通过GM[%s]为[%s]充值%s点%s", 时间转换(os.time()), 玩家数据[id].账号, 玩家id, 充值数额, 充值类型) .. "\n"

					写出文件("data/" .. 账号 .. "/充值记录.txt", 充值日志)
				end
			end

			发送数据(玩家数据[id].连接id, 144.4)
		elseif 序号 == 6202 then
			if 玩家id ~= 0 then
				发送信息.账号 = 玩家数据[玩家id].账号
				发送信息.名称 = 玩家数据[玩家id].角色.数据.名称
				发送信息.ID = 玩家id
				发送信息.等级 = 玩家数据[玩家id].角色.数据.等级
				发送信息.造型 = 玩家数据[玩家id].角色.数据.造型
				发送信息.仙玉 = f函数.读配置(程序目录 .. "data\\" .. 玩家数据[玩家id].账号 .. "\\账号信息.txt", "账号配置", "仙玉") + 0
				发送信息.银子 = 玩家数据[玩家id].角色.数据.银子
				发送信息.储备 = 玩家数据[玩家id].角色.数据.储备
				发送信息.存银 = 玩家数据[玩家id].角色.数据.存银
				发送信息.连接IP = 数据.ip
				发送信息.比武积分 = 玩家数据[玩家id].角色.数据.比武积分.当前积分
				发送信息.充值积分 = 玩家数据[玩家id].角色.数据.充值积分
				发送信息.点卡 = f函数.读配置(程序目录 .. "data\\" .. 玩家数据[玩家id].账号 .. "\\账号信息.txt", "账号配置", "点卡")
				发送信息.经验 = 玩家数据[玩家id].角色.数据.当前经验
				发送信息.武器 = 玩家数据[玩家id].角色.数据.武器数据.名称
				发送信息.门派 = 玩家数据[玩家id].角色.数据.门派
				发送信息.帮派 = 玩家数据[玩家id].角色.数据.帮派
				发送信息.人物修炼 = {}

				for i, v in pairs(玩家数据[玩家id].角色.数据.修炼) do
					if i ~= "当前" and i ~= "猎术修炼" then
						发送信息.人物修炼[i] = 玩家数据[玩家id].角色.数据.修炼[i][1]
					end
				end

				发送信息.召唤兽修炼 = {}

				for i, v in pairs(玩家数据[玩家id].角色.数据.bb修炼) do
					if i ~= "当前" then
						发送信息.召唤兽修炼[i] = 玩家数据[玩家id].角色.数据.bb修炼[i][1]
					end
				end

				for i = 1, #玩家数据[玩家id].角色.数据.辅助技能 do
					if 玩家数据[玩家id].角色.数据.辅助技能[i].名称 == "强身术" then
						发送信息.强身等级 = 玩家数据[玩家id].角色.数据.辅助技能[i].等级
					elseif 玩家数据[玩家id].角色.数据.辅助技能[i].名称 == "冥想" then
						发送信息.冥想等级 = 玩家数据[玩家id].角色.数据.辅助技能[i].等级
					end
				end

				发送数据(玩家数据[id].连接id, 144, 发送信息)

				发送信息 = nil
			end
		elseif 序号 == 6203 then
			发送数据(玩家数据[id].连接id, 144.1, 充值日志)
		elseif 序号 == 6204 then
			if 账号 == nil then
				常规提示(id, "#Y/id输入错误或者玩家名输入错误")

				return
			end

			if 数据.类型 == "封禁账号" then
				f函数.写配置(程序目录 .. "data\\" .. 账号 .. "\\账号信息.txt", "账号配置", "封禁", "1")

				self.临时文件 = table.loadstring(读入文件("data/" .. 账号 .. "/信息.txt"))

				for n = 1, #self.临时文件 do
					local 临时id = self.临时文件[n] + 0

					if 玩家数据[临时id] ~= nil then
						发送数据(玩家数据[临时id].连接id, 999, "您的账号已经被封禁,如有疑问请与管理员联系")
						系统处理类:断开游戏(临时id)
					end
				end

				常规提示(id, "#Y/封禁" .. 账号 .. "成功！相关在线id已经被强制下线")

				return
			elseif 数据.类型 == "封禁ip" then
				local 封禁临时ip = f函数.读配置(程序目录 .. "data\\" .. 账号 .. "\\账号信息.txt", "账号配置", "创建ip")

				f函数.写配置(程序目录 .. "ip封禁.ini", "ip", 封禁临时ip, "1")

				self.临时文件 = table.loadstring(读入文件("data/" .. 账号 .. "/信息.txt"))

				for n = 1, #self.临时文件 do
					local 临时id = self.临时文件[n] + 0

					if 玩家数据[临时id] ~= nil then
						发送数据(玩家数据[临时id].连接id, 999, "您的IP已经被封禁,如有疑问请与管理员联系")
						系统处理类:断开游戏(临时id)
					end
				end

				local 封禁机器码 = f函数.读配置(程序目录 .. "data\\" .. 账号 .. "\\账号信息.txt", "账号配置", "机器码")

				f函数.写配置(程序目录 .. "机器码封禁.ini", "机器码", 封禁机器码, "1")

				return
			elseif 数据.类型 == "解封账号" then
				f函数.写配置(程序目录 .. "data\\" .. 账号 .. "\\账号信息.txt", "账号配置", "封禁", "0")
				常规提示(id, "#Y/解封" .. 账号 .. "成功！")
			elseif 数据.类型 == "解封ip" then
				local 封禁临时ip = f函数.读配置(程序目录 .. "data\\" .. 账号 .. "\\账号信息.txt", "账号配置", "创建ip")
				local 封禁机器码 = f函数.读配置(程序目录 .. "data\\" .. 账号 .. "\\账号信息.txt", "账号配置", "机器码")

				f函数.写配置(程序目录 .. "ip封禁.ini", "ip", 封禁临时ip, "0")
				f函数.写配置(程序目录 .. "机器码封禁.ini", "机器码", 封禁机器码, "0")
				常规提示(id, "#Y/解封" .. 账号 .. "IP和机器码成功！")
			elseif 数据.类型 == "踢出战斗" then
				if 玩家数据[玩家id].战斗 ~= 0 and 战斗准备类.战斗盒子[玩家数据[玩家id].战斗] ~= nil then
					if 玩家数据[玩家id].队伍 ~= 0 and 玩家数据[玩家id].队长 and 战斗准备类.战斗盒子[玩家数据[玩家id].战斗].执行等待 < 0 then
						战斗准备类.战斗盒子[玩家数据[玩家id].战斗]:结束战斗(0, 玩家数据[玩家id].队伍, 1)
						常规提示(id, "#Y/强制结束战斗成功！")
					else
						战斗准备类.战斗盒子[玩家数据[玩家id].战斗]:结束战斗(0, 玩家id, 1)
						常规提示(id, "#Y/强制结束战斗成功！")
					end
				else
					常规提示(id, "#Y/该玩家未在战斗！")
				end
			elseif 数据.类型 == "强制下线" then
				发送数据(玩家数据[玩家id].连接id, 999, "你已经被管理员强制下线")
				常规提示(id, "#Y/强制下线玩家:" .. 玩家id .. "成功！")
			end
		elseif 序号 == 6205 then
			for i, v in pairs(数据) do
				if tonumber(v) ~= nil then
					if i == "法术修炼" or i == "防御修炼" or i == "抗法修炼" or i == "攻击修炼" then
						玩家数据[玩家id].角色.数据.修炼[i][1] = v + 0
					elseif i == "防御控制" or i == "攻击控制" or i == "法术控制" or i == "抗法控制" then
						玩家数据[玩家id].角色.数据.bb修炼[i .. "力"][1] = v + 0
					elseif i == "冥想等级" or i == "强身等级" then
						if i == "强身等级" then
							for i = 1, #玩家数据[玩家id].角色.数据.辅助技能 do
								if 玩家数据[玩家id].角色.数据.辅助技能[i].名称 == "强身术" then
									玩家数据[玩家id].角色.数据.辅助技能[i].等级 = v + 0
								end
							end
						elseif i == "冥想等级" then
							for i = 1, #玩家数据[玩家id].角色.数据.辅助技能 do
								if 玩家数据[玩家id].角色.数据.辅助技能[i].名称 == "冥想" then
									玩家数据[玩家id].角色.数据.辅助技能[i].等级 = v + 0
								end
							end
						end
					end
				end
			end

			玩家数据[玩家id].角色:刷新信息(1)
			发送数据(玩家数据[玩家id].连接id, 31, 玩家数据[玩家id].角色:取总数据(1))
			常规提示(id, "#Y/修改玩家信息成功！")

			管理日志 = 管理日志 .. format("%s：为玩家[%s]操作修改玩家修炼信息", 时间转换(os.time()), 玩家id) .. "\n"

			写出文件("tysj" .. "/管理记录.txt", 管理日志)

			充值日志 = 充值日志 .. format("%s：通过GM[%s]为[%s]操作修改角色修炼信息", 时间转换(os.time()), 玩家数据[id].账号, 玩家id) .. "\n"

			写出文件("data/" .. 账号 .. "/充值记录.txt", 充值日志)
		elseif 序号 == 6206 then
			local 给予成功 = false
			local 临时格子 = 玩家数据[玩家id].角色:取道具格子()

			if 临时格子 == 0 then
				常规提示(id, "#Y/对方背包已满！")

				return
			end

			local 道具编号 = 玩家数据[玩家id].道具:取新编号()
			玩家数据[玩家id].道具.数据[道具编号] = 物品类()
			玩家数据[玩家id].角色.数据.道具[临时格子] = 道具编号
			local 内容 = {
				数据.内容
			}
			local 物品类型 = nil

			if 数据.类型 == "给予内丹" then
				物品类型 = self:取内丹(内容[1])

				if 物品类型 ~= "" then
					玩家数据[玩家id].道具.数据[道具编号]:置对象(物品类型)

					玩家数据[玩家id].道具.数据[道具编号].附带技能 = 内容[1]
					玩家数据[玩家id].道具.数据[道具编号].识别码 = 玩家id .. "_" .. os.time() .. "_" .. 取随机数(1, 999) .. "_" .. id
					给予成功 = true
				else
					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil
				end
			elseif 数据.类型 == "给予兽决" then
				物品类型 = self:取要诀(内容[1])

				if 物品类型 ~= "" then
					玩家数据[玩家id].道具.数据[道具编号]:置对象(物品类型)

					玩家数据[玩家id].道具.数据[道具编号].附带技能 = 内容[1]
					玩家数据[玩家id].道具.数据[道具编号].识别码 = 玩家id .. "_" .. os.time() .. "_" .. 取随机数(1, 999) .. "_" .. id
					给予成功 = true
				end
			elseif 数据.类型 == "给点化石" then
				玩家数据[玩家id].道具.数据[道具编号] = nil
				玩家数据[玩家id].角色.数据.道具[临时格子] = nil
			elseif 数据.类型 == "给予蟠桃" then
				玩家数据[玩家id].道具.数据[道具编号] = nil
				玩家数据[玩家id].角色.数据.道具[临时格子] = nil
			elseif 数据.类型 == "给予元宵" then
				玩家数据[玩家id].道具.数据[道具编号] = nil
				玩家数据[玩家id].角色.数据.道具[临时格子] = nil
			elseif 数据.类型 == "顶级神魂" then
				玩家数据[玩家id].道具:给予道具(玩家id, "顶级神魂丹", 1)

				玩家数据[玩家id].道具.数据[道具编号] = nil
				玩家数据[玩家id].角色.数据.道具[临时格子] = nil
				给予成功 = true
			elseif 数据.类型 == "给修炼果" then
				if tonumber(内容[1]) == nil then
					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil

					return
				end

				玩家数据[玩家id].道具.数据[道具编号]:置对象("修炼果")

				玩家数据[玩家id].道具.数据[道具编号].阶品 = 内容[1] + 0
				玩家数据[玩家id].道具.数据[道具编号].识别码 = 玩家id .. "_" .. os.time() .. "_" .. 取随机数(1, 999) .. "_" .. id

				if 玩家数据[玩家id].道具.数据[道具编号].可叠加 then
					玩家数据[玩家id].道具.数据[道具编号].数量 = 内容[1] + 0
				end

				给予成功 = true
			elseif 数据.类型 == "给予阵法" then
				物品类型 = self:取阵法(内容[1])

				if 物品类型 then
					玩家数据[玩家id].道具.数据[道具编号]:置对象("鬼谷子")

					玩家数据[玩家id].道具.数据[道具编号].子类 = 内容[1]
					玩家数据[玩家id].道具.数据[道具编号].识别码 = 玩家id .. "_" .. os.time() .. "_" .. 取随机数(1, 999) .. "_" .. id
					给予成功 = true
				else
					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil
				end
			elseif 数据.类型 == "给予卡片" then
				物品类型 = self:取变身卡(内容[1])

				if 物品类型 ~= 0 then
					玩家数据[玩家id].道具.数据[道具编号]:置对象("怪物卡片")

					玩家数据[玩家id].道具.数据[道具编号].等级 = 物品类型
					玩家数据[玩家id].道具.数据[道具编号].造型 = 内容[1]
					玩家数据[玩家id].道具.数据[道具编号].类型 = 变身卡数据[玩家数据[玩家id].道具.数据[道具编号].造型].类型
					玩家数据[玩家id].道具.数据[道具编号].单独 = 变身卡数据[玩家数据[玩家id].道具.数据[道具编号].造型].单独
					玩家数据[玩家id].道具.数据[道具编号].正负 = 变身卡数据[玩家数据[玩家id].道具.数据[道具编号].造型].正负
					玩家数据[玩家id].道具.数据[道具编号].技能 = 变身卡数据[玩家数据[玩家id].道具.数据[道具编号].造型].技能
					玩家数据[玩家id].道具.数据[道具编号].属性 = 变身卡数据[玩家数据[玩家id].道具.数据[道具编号].造型].属性
					玩家数据[玩家id].道具.数据[道具编号].次数 = 物品类型
					玩家数据[玩家id].道具.数据[道具编号].识别码 = 玩家id .. "_" .. os.time() .. "_" .. 取随机数(1, 999) .. "_" .. id
					给予成功 = true
				else
					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil
				end
			elseif 数据.类型 == "给予符石" then
				物品类型 = self:取符石(内容[1])

				if 物品类型 ~= 0 then
					local 符石数据 = 取物品数据(内容[1])

					玩家数据[玩家id].道具.数据[道具编号]:置对象(内容[1])

					玩家数据[玩家id].道具.数据[道具编号].颜色 = 符石数据[20]
					玩家数据[玩家id].道具.数据[道具编号].耐久度 = 符石数据[17]
					玩家数据[玩家id].道具.数据[道具编号].等级 = 符石数据[16]
					玩家数据[玩家id].道具.数据[道具编号][符石数据[18]] = 符石数据[19]

					if 符石数据[21] ~= nil then
						玩家数据[玩家id].道具.数据[道具编号][符石数据[21]] = 符石数据[22]
					end

					玩家数据[玩家id].道具.数据[道具编号].识别码 = 玩家id .. "_" .. os.time() .. "_" .. 取随机数(1, 999) .. "_" .. id
					给予成功 = true
				else
					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil
				end
			elseif 数据.类型 == "给予图策" then
				if tonumber(内容[1]) == nil then
					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil

					return
				end

				local 图策范围 = {
					"项圈",
					"护腕",
					"铠甲"
				}

				for i = 1, #图策范围 do
					玩家数据[玩家id].道具.数据[道具编号]:置对象("上古锻造图策")

					玩家数据[玩家id].道具.数据[道具编号].种类 = 图策范围[i]

					if 内容[1] + 0 >= 155 then
						内容[1] = 155
					elseif 内容[1] + 0 >= 145 then
						内容[1] = 145
					elseif 内容[1] + 0 >= 135 then
						内容[1] = 135
					elseif 内容[1] + 0 >= 125 then
						内容[1] = 125
					elseif 内容[1] + 0 >= 115 then
						内容[1] = 115
					elseif 内容[1] + 0 >= 105 then
						内容[1] = 105
					elseif 内容[1] + 0 >= 95 then
						内容[1] = 95
					elseif 内容[1] + 0 >= 85 then
						内容[1] = 85
					elseif 内容[1] + 0 >= 75 then
						内容[1] = 75
					elseif 内容[1] + 0 >= 65 then
						内容[1] = 65
					elseif 内容[1] + 0 >= 55 then
						内容[1] = 55
					elseif 内容[1] + 0 >= 45 then
						内容[1] = 45
					elseif 内容[1] + 0 >= 35 then
						内容[1] = 35
					elseif 内容[1] + 0 >= 25 then
						内容[1] = 25
					elseif 内容[1] + 0 >= 15 then
						内容[1] = 15
					else
						内容[1] = 5
					end

					玩家数据[玩家id].道具.数据[道具编号].级别限制 = 内容[1]
					玩家数据[玩家id].道具.数据[道具编号].识别码 = 玩家id .. "_" .. os.time() .. "_" .. 取随机数(1, 999) .. "_" .. id
					local 临时格子 = 玩家数据[玩家id].角色:取道具格子()

					if 临时格子 == 0 then
						常规提示(id, "#Y/对方背包已满！")

						return
					elseif i < 3 then
						道具编号 = 玩家数据[玩家id].道具:取新编号()
						玩家数据[玩家id].道具.数据[道具编号] = 物品类()
						玩家数据[玩家id].角色.数据.道具[临时格子] = 道具编号
					end
				end

				给予成功 = true
			elseif 数据.类型 == "给予法宝" then
				物品类型 = 取物品数据(内容[1])

				if 物品类型[2] ~= nil and 物品类型[2] == 1000 then
					玩家数据[玩家id].道具:给予法宝(玩家id, 内容[1])

					给予成功 = true
					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil
				else
					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil
				end
			elseif 数据.类型 == "给予锦衣" then
				玩家数据[玩家id].道具.数据[道具编号] = nil
				玩家数据[玩家id].角色.数据.道具[临时格子] = nil
			elseif 数据.类型 == "给予坐骑" then
				if 全局坐骑资料:取坐骑(内容[1]) ~= nil and 全局坐骑资料:取坐骑(内容[1])[1] ~= nil then
					全局坐骑资料:获取坐骑(玩家id, 内容[1])
					发送数据(玩家数据[玩家id].连接id, 61, 玩家数据[玩家id].角色.数据.坐骑列表)

					给予成功 = true
					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil
				end
			elseif 数据.类型 == "给予称谓" then
				玩家数据[玩家id].角色:添加称谓(玩家id, 内容[1])

				给予成功 = true
				玩家数据[玩家id].道具.数据[道具编号] = nil
				玩家数据[玩家id].角色.数据.道具[临时格子] = nil
			elseif 数据.类型 == "给予烹饪" or 数据.类型 == "给予三药" or 数据.类型 == "给予书铁" or 数据.类型 == "九转金丹" then
				内容[2] = 数据.内容1

				if tonumber(内容[2]) == nil then
					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil

					return
				end

				if 数据.类型 == "给予烹饪" then
					local 物品表 = {
						"烤肉",
						"醉生梦死",
						"蛇胆酒",
						"百味酒",
						"梅花酒",
						"长寿面",
						"翡翠豆腐",
						"桂花丸",
						"珍露酒",
						"豆斋果",
						"烤鸭",
						"臭豆腐",
						"佛跳墙",
						"虎骨酒",
						"女儿红"
					}

					for i = 1, #物品表 do
						if 物品表[i] == 内容[1] then
							玩家数据[玩家id].道具.数据[道具编号]:置对象(内容[1])

							玩家数据[玩家id].道具.数据[道具编号].阶品 = 内容[2] + 0
							给予成功 = true
						end
					end

					if not 给予成功 then
						玩家数据[玩家id].道具.数据[道具编号] = nil
						玩家数据[玩家id].角色.数据.道具[临时格子] = nil
					end
				elseif 数据.类型 == "给予三药" then
					local 物品表 = {
						"金香玉",
						"小还丹",
						"千年保心丹",
						"风水混元丹",
						"定神香",
						"蛇蝎美人",
						"九转回魂丹",
						"佛光舍利子",
						"十香返生丸",
						"五龙丹"
					}

					for i = 1, #物品表 do
						if 物品表[i] == 内容[1] then
							玩家数据[玩家id].道具.数据[道具编号]:置对象(内容[1])

							玩家数据[玩家id].道具.数据[道具编号].阶品 = 内容[2] + 0
							给予成功 = true
						end
					end

					if not 给予成功 then
						玩家数据[玩家id].道具.数据[道具编号] = nil
						玩家数据[玩家id].角色.数据.道具[临时格子] = nil
					end
				elseif 数据.类型 == "给予书铁" then
					local 物品表 = {
						"枪矛",
						"斧钺",
						"剑",
						"双短剑",
						"飘带",
						"爪刺",
						"扇",
						"魔棒",
						"锤",
						"鞭",
						"环圈",
						"刀",
						"法杖",
						"弓弩",
						"宝珠",
						"巨剑",
						"伞",
						"灯笼",
						"头盔",
						"发钗",
						"项链",
						"女衣",
						"男衣",
						"腰带",
						"鞋子"
					}
					local 物品特效 = self:取装备(内容[1])

					if 物品特效 ~= 0 then
						if 内容[2] + 0 >= 150 then
							内容[2] = 150
						elseif 内容[2] + 0 >= 140 then
							内容[2] = 140
						elseif 内容[2] + 0 >= 130 then
							内容[2] = 130
						elseif 内容[2] + 0 >= 120 then
							内容[2] = 120
						elseif 内容[2] + 0 >= 110 then
							内容[2] = 110
						elseif 内容[2] + 0 >= 100 then
							内容[2] = 100
						elseif 内容[2] + 0 >= 90 then
							内容[2] = 90
						elseif 内容[2] + 0 >= 80 then
							内容[2] = 80
						elseif 内容[2] + 0 >= 70 then
							内容[2] = 70
						elseif 内容[2] + 0 >= 60 then
							内容[2] = 60
						elseif 内容[2] + 0 >= 50 then
							内容[2] = 50
						elseif 内容[2] + 0 >= 40 then
							内容[2] = 40
						elseif 内容[2] + 0 >= 30 then
							内容[2] = 30
						elseif 内容[2] + 0 >= 20 then
							内容[2] = 20
						else
							内容[2] = 10
						end

						玩家数据[玩家id].道具.数据[道具编号]:置对象("制造指南书")

						玩家数据[玩家id].道具.数据[道具编号].子类 = 内容[2] + 0
						玩家数据[玩家id].道具.数据[道具编号].特效 = 物品特效
						玩家数据[玩家id].道具.数据[道具编号].识别码 = 玩家id .. "_" .. os.time() .. "_" .. 取随机数(1, 999) .. "_" .. id
						local 临时格子 = 玩家数据[玩家id].角色:取道具格子()

						if 临时格子 == 0 then
							常规提示(id, "#Y/对方背包已满！")

							return
						else
							道具编号 = 玩家数据[玩家id].道具:取新编号()
							玩家数据[玩家id].道具.数据[道具编号] = 物品类()
							玩家数据[玩家id].角色.数据.道具[临时格子] = 道具编号

							玩家数据[玩家id].道具.数据[道具编号]:置对象("百炼精铁")

							玩家数据[玩家id].道具.数据[道具编号].子类 = 内容[2] + 0
							玩家数据[玩家id].道具.数据[道具编号].识别码 = 玩家id .. "_" .. os.time() .. "_" .. 取随机数(1, 999) .. "_" .. id
						end

						给予成功 = true
					end
				elseif 数据.类型 == "九转金丹" then
					if tonumber(内容[2]) == nil then
						玩家数据[玩家id].道具.数据[道具编号] = nil
						玩家数据[玩家id].角色.数据.道具[临时格子] = nil

						return
					end

					玩家数据[玩家id].道具.数据[道具编号]:置对象("九转金丹")

					玩家数据[玩家id].道具.数据[道具编号].阶品 = 内容[2] + 0
					玩家数据[玩家id].道具.数据[道具编号].识别码 = 玩家id .. "_" .. os.time() .. "_" .. 取随机数(1, 999) .. "_" .. id
					给予成功 = true
				end
			elseif 数据.类型 == "给予宝石" then
				内容[2] = 数据.内容1
				内容[3] = 数据.内容2

				if 内容[3] < 内容[2] then
					内容[3] = 内容[2]
				end

				if tonumber(内容[2]) == nil or tonumber(内容[3]) == nil then
					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil

					return
				end

				if 内容[1] == "红玛瑙" or 内容[1] == "太阳石" or 内容[1] == "舍利子" or 内容[1] == "黑宝石" or 内容[1] == "月亮石" or 内容[1] == "光芒石" or 内容[1] == "神秘石" or 内容[1] == "星辉石" then
					for n = 内容[2], 内容[3] do
						玩家数据[玩家id].道具.数据[道具编号]:置对象(内容[1])

						玩家数据[玩家id].道具.数据[道具编号].级别限制 = n
						local 临时格子 = 玩家数据[玩家id].角色:取道具格子()

						if 内容[2] < 内容[3] then
							if 临时格子 == 0 then
								常规提示(id, "#Y/对方背包已满！")

								return
							elseif i ~= 内容[4] or 内容[3] > n then
								道具编号 = 玩家数据[玩家id].道具:取新编号()
								玩家数据[玩家id].道具.数据[道具编号] = 物品类()
								玩家数据[玩家id].角色.数据.道具[临时格子] = 道具编号
							end
						end
					end

					给予成功 = true
				end
			elseif 数据.类型 == "宝宝装备" then
				for i = 1, 9 do
					内容[i + 1] = 数据["内容" .. i]
				end

				if 内容[1] ~= "护腕" and 内容[1] ~= "铠甲" and 内容[1] ~= "项圈" then
					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil

					return
				end

				local 常规参数 = {
					"命中",
					"速度",
					"防御",
					"伤害",
					"魔法",
					"灵力",
					"气血"
				}
				local 检测通过 = 0

				for i = 1, #常规参数 do
					if 内容[3] == 常规参数[i] then
						检测通过 = 检测通过 + 1
					end

					if 内容[5] == 常规参数[i] then
						检测通过 = 检测通过 + 1
					end
				end

				if 检测通过 < 2 then
					常规提示(id, "#Y/请检查主副输入的参数是否有误。命中、速度、防御、伤害、魔法、灵力、气血！")

					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil

					return
				end

				常规参数 = {
					"敏捷",
					"体质",
					"力量",
					"耐力",
					"魔力"
				}
				检测通过 = 0

				for i = 1, #常规参数 do
					if 内容[7] == 常规参数[i] then
						检测通过 = 检测通过 + 1
					end

					if 内容[9] == 常规参数[i] then
						检测通过 = 检测通过 + 1
					end
				end

				if 检测通过 < 2 then
					常规提示(id, "#Y/请检查附加参数是否有误。体质、魔力、力量、耐力、敏捷！")

					玩家数据[玩家id].道具.数据[道具编号] = nil
					玩家数据[玩家id].角色.数据.道具[临时格子] = nil

					return
				end

				local 打造物品 = 绑定等级物品()
				local 类型序列 = 0

				if 内容[1] == "护腕" then
					类型序列 = 24
				elseif 内容[1] == "项圈" then
					类型序列 = 25
				elseif 内容[1] == "铠甲" then
					类型序列 = 26
				end

				if 内容[2] + 0 >= 155 then
					内容[2] = 155
				elseif 内容[2] + 0 >= 145 then
					内容[2] = 145
				elseif 内容[2] + 0 >= 135 then
					内容[2] = 135
				elseif 内容[2] + 0 >= 125 then
					内容[2] = 125
				elseif 内容[2] + 0 >= 115 then
					内容[2] = 115
				elseif 内容[2] + 0 >= 105 then
					内容[2] = 105
				elseif 内容[2] + 0 >= 95 then
					内容[2] = 95
				elseif 内容[2] + 0 >= 85 then
					内容[2] = 85
				elseif 内容[2] + 0 >= 75 then
					内容[2] = 75
				elseif 内容[2] + 0 >= 65 then
					内容[2] = 65
				elseif 内容[2] + 0 >= 55 then
					内容[2] = 55
				elseif 内容[2] + 0 >= 45 then
					内容[2] = 45
				elseif 内容[2] + 0 >= 35 then
					内容[2] = 35
				elseif 内容[2] + 0 >= 25 then
					内容[2] = 25
				elseif 内容[2] + 0 >= 15 then
					内容[2] = 15
				else
					内容[2] = 5
				end

				local 临时序列 = math.floor((内容[2] + 5) / 10)
				local 临时名称 = 打造物品[类型序列][临时序列]

				玩家数据[玩家id].道具.数据[道具编号]:置对象(临时名称)

				玩家数据[玩家id].道具.数据[道具编号].级别限制 = 内容[2]
				玩家数据[玩家id].道具.数据[道具编号].耐久 = 500
				玩家数据[玩家id].道具.数据[道具编号][内容[3]] = 内容[4] + 0
				玩家数据[玩家id].道具.数据[道具编号][内容[5]] = 内容[6] + 0
				玩家数据[玩家id].道具.数据[道具编号][内容[7]] = 内容[8] + 0
				玩家数据[玩家id].道具.数据[道具编号][内容[9]] = 内容[10] + 0
				给予成功 = true
			end

			if 给予成功 == false then
				玩家数据[玩家id].道具.数据[道具编号] = nil
				玩家数据[玩家id].角色.数据.道具[临时格子] = nil

				常规提示(id, "#Y/请检查您输入的内容是否正确！")
			else
				道具刷新(玩家id)
				常规提示(id, "#Y/发放成功！")
			end
		elseif 序号 == 6207 then
			local 临时格子 = 玩家数据[玩家id].角色:取道具格子()

			if 临时格子 == 0 then
				常规提示(id, "#Y/对方背包已满！")

				return
			end

			local 幻化类型 = {
				"心源",
				"狂浪滔天",
				"固若金汤",
				"锐不可当",
				"通真达灵",
				"血气方刚",
				"健步如飞"
			}
			local 检测通过 = false

			for i = 1, #幻化类型 do
				if 幻化类型[i] == 数据.内容 then
					检测通过 = true

					break
				end
			end

			if 检测通过 then
				玩家数据[玩家id].道具:给予道具(玩家id, "钟灵石", nil, 数据.内容)
				常规提示(id, "#Y/发放成功！")
			else
				常规提示(id, "#Y/请检查输入的特性是否正确！")
			end
		elseif 序号 == 6208 then
			发送数据(玩家数据[id].连接id, 144.3, 玩家数据[玩家id].角色.数据.模型)
		elseif 序号 == 6209 then
			local 临时格子 = 玩家数据[玩家id].角色:取道具格子()

			if 临时格子 == 0 then
				常规提示(id, "#Y/对方背包已满！")

				return
			end

			local 分割 = 分割文本(数据.上下限, "/")

			if 分割[2] == nil or tonumber(分割[2]) == nil or tonumber(分割[1]) == nil then
				常规提示(id, "#Y/请正确输入装备上下限格式【 2/3 】！")

				return
			end

			local 上限 = 分割[2] + 0
			local 下限 = 分割[1] + 0

			if 上限 < 下限 then
				上限 = 下限
			end

			local 双加属性 = {
				"体质",
				"力量",
				"耐力",
				"魔力",
				"敏捷"
			}
			local 检测通过 = false
			local 检测通过1 = false

			if 数据.类型 == "武器" or 数据.类型 == "女衣" or 数据.类型 == "男衣" then
				if type(数据.双加属性1) == "string" and 数据.双加属性1 ~= "" then
					for i = 1, 5 do
						if 数据.双加属性1 == 双加属性[i] then
							检测通过 = true

							break
						end
					end
				else
					检测通过 = true
				end

				if type(数据.双加属性2) == "string" and 数据.双加属性2 ~= "" then
					for i = 1, 5 do
						if 数据.双加属性2 == 双加属性[i] then
							检测通过1 = true

							break
						end
					end
				else
					检测通过1 = true
				end
			else
				检测通过 = true
				检测通过1 = true
			end

			if 检测通过 == false or 检测通过1 == false then
				常规提示(id, "#Y/双加属性只能为体质、力量、耐力、魔力、敏捷！")

				return
			end

			if 数据.附加特技 ~= "" and type(数据.附加特技) == "string" then
				检测通过 = false

				if 通用特技1[数据.附加特技] ~= nil then
					检测通过 = true
				end

				if 检测通过 == false then
					常规提示(id, "#Y/请检查输入的特技是否正确！")

					return
				end
			end

			if 数据.附加特效1 ~= "" and type(数据.附加特效1) == "string" then
				检测通过 = false

				if 通用特效1[数据.附加特效1] ~= nil then
					检测通过 = true
				end

				if 检测通过 == false then
					常规提示(id, "#Y/请检查输入的特效是否正确！")

					return
				end
			end

			local 类型 = 数据.类型
			local 临时等级 = 数据.装备等级
			local 临时特效 = 0

			if 临时等级 + 0 >= 160 then
				临时等级 = 16
			elseif 临时等级 + 0 >= 150 then
				临时等级 = 15
			elseif 临时等级 + 0 >= 140 then
				临时等级 = 14
			elseif 临时等级 + 0 >= 130 then
				临时等级 = 13
			elseif 临时等级 + 0 >= 120 then
				临时等级 = 12
			elseif 临时等级 + 0 >= 110 then
				临时等级 = 11
			elseif 临时等级 + 0 >= 100 then
				临时等级 = 10
			elseif 临时等级 + 0 >= 90 then
				临时等级 = 9
			elseif 临时等级 + 0 >= 80 then
				临时等级 = 8
			elseif 临时等级 + 0 >= 70 then
				临时等级 = 7
			elseif 临时等级 + 0 >= 60 then
				临时等级 = 6
			elseif 临时等级 + 0 >= 50 then
				临时等级 = 5
			elseif 临时等级 + 0 >= 40 then
				临时等级 = 4
			elseif 临时等级 + 0 >= 30 then
				临时等级 = 3
			elseif 临时等级 + 0 >= 20 then
				临时等级 = 2
			else
				临时等级 = 1
			end

			local 临时序列, 可持有武器 = nil
			临时序列 = 类型

			if 类型 == "武器" then
				可持有武器 = 玩家数据[玩家id].角色:队伍角色(玩家数据[玩家id].角色.数据.模型)
				可持有武器 = 可持有武器.武器

				if type(可持有武器) == "table" then
					临时序列 = 可持有武器[取随机数(1, #可持有武器)]
				end
			end

			临时序列 = self:取装备(临时序列)
			临时特效 = 临时序列

			if 临时序列 == 25 then
				临时序列 = 23
			elseif 临时序列 == 24 then
				临时序列 = 22
			elseif 临时序列 == 23 or 临时序列 == 22 then
				临时序列 = 21
			elseif 临时序列 == 21 then
				临时序列 = 20
			elseif 临时序列 == 20 or 临时序列 == 19 then
				临时序列 = 19
			end

			if 临时序列 <= 18 and 临时等级 >= 9 then
				if 临时等级 <= 11 then
					临时等级 = 取随机数(9, 11)
				elseif 临时等级 <= 14 then
					临时等级 = 取随机数(12, 14)
				end

				临时等级 = 临时等级 + 1
			else
				临时等级 = 临时等级 + 1
			end

			local 打造物品 = 绑定等级物品()
			local 临时类型 = 打造物品[临时序列][临时等级]

			if type(临时类型) == "table" then
				if 临时特效 == 23 then
					临时类型 = 临时类型[2]
				elseif 临时特效 == 22 then
					临时类型 = 临时类型[1]
				elseif 临时特效 == 20 then
					临时类型 = 临时类型[2]
				elseif 临时特效 == 19 then
					临时类型 = 临时类型[1]
				else
					临时类型 = 临时类型[取随机数(1, 2)]
				end
			end

			local 道具 = 物品类()

			道具:置对象(临时类型)

			道具.级别限制 = (临时等级 - 1) * 10
			local a = 数据.装备等级
			local 双加属性 = {
				"体质",
				"力量",
				"耐力",
				"魔力"
			}

			if 类型 == "武器" then
				道具.命中 = math.floor(取随机数(a * 下限, a * 上限))
				道具.伤害 = math.floor(取随机数(a * (下限 - 0.5), a * (上限 - 0.5)))

				if type(数据.双加属性1) == "string" and 数据.双加属性1 ~= "" then
					道具[数据.双加属性1] = 数据.双加数值1 + 0

					if type(数据.双加属性2) == "string" and 数据.双加属性2 ~= "" then
						道具[数据.双加属性2] = 数据.双加数值2 + 0
					end
				end
			elseif 类型 == "女衣" or 类型 == "男衣" then
				道具.防御 = math.floor(取随机数(a * 下限, a * 上限))

				if type(数据.双加属性1) == "string" and 数据.双加属性1 ~= "" then
					道具[数据.双加属性1] = 数据.双加数值1 + 0

					if type(数据.双加属性2) == "string" and 数据.双加属性2 ~= "" then
						道具[数据.双加属性2] = 数据.双加数值2 + 0
					end
				end
			elseif 类型 == "头盔" or 类型 == "发钗" then
				道具.防御 = math.floor(取随机数(a * 下限, a * 上限))
				道具.魔法 = math.floor(取随机数(a * (下限 + 0.5), a * (上限 + 0.5)))
			elseif 类型 == "项链" then
				道具.灵力 = math.floor(取随机数(a * 下限, a * 上限))
			elseif 类型 == "鞋子" then
				道具.防御 = math.floor(取随机数(a * 下限, a * 上限))
				道具.敏捷 = math.floor(取随机数(a * (下限 - 0.2), a * (上限 - 0.2)))
			elseif 类型 == "腰带" then
				道具.防御 = math.floor(取随机数(a * 下限, a * 上限))
				道具.气血 = math.floor(取随机数(a * (下限 + 2), a * (上限 + 2)))
			end

			if type(数据.附加特技) == "string" and 数据.附加特技 ~= "" then
				道具.特技 = 数据.附加特技
			end

			local 加入特效 = {}

			if type(数据.附加特效1) == "string" and 数据.附加特效1 ~= "" then
				if 数据.附加特效1 == "愤怒" or 数据.附加特效1 == "暴怒" then
					if 类型 == "腰带" then
						加入特效[#加入特效 + 1] = 数据.附加特效1
					end
				else
					加入特效[#加入特效 + 1] = 数据.附加特效1
				end
			end

			if type(数据.附加特效2) == "string" and 数据.附加特效2 ~= "" then
				if 数据.附加特效2 == "愤怒" or 数据.附加特效2 == "暴怒" then
					if 类型 == "腰带" then
						加入特效[#加入特效 + 1] = 数据.附加特效2
					end
				else
					加入特效[#加入特效 + 1] = 数据.附加特效2
				end
			end

			if #加入特效 > 0 then
				道具.特效 = table.loadstring(table.tostring(加入特效))
			end

			道具.制造者 = "GM工具"
			local 道具编号 = 玩家数据[玩家id].道具:取新编号()
			玩家数据[玩家id].道具.数据[道具编号] = 道具
			玩家数据[玩家id].角色.数据.道具[临时格子] = 道具编号
			玩家数据[玩家id].道具.数据[道具编号].鉴定 = true
			玩家数据[玩家id].道具.数据[道具编号].五行 = 取五行()
			玩家数据[玩家id].道具.数据[道具编号].耐久 = 500
			玩家数据[玩家id].道具.数据[道具编号].识别码 = 玩家id .. "_" .. os.time() .. "_" .. 取随机数(1, 999) .. "_" .. id
			local 套装效果 = {
				附加状态 = {
					"金刚护法",
					"金刚护体",
					"生命之泉",
					"炼气化神",
					"普渡众生",
					"定心术",
					"碎星诀",
					"变身"
				},
				追加法术 = {
					"横扫千军",
					"善恶有报",
					"惊心一剑",
					"壁垒击破",
					"满天花雨",
					"浪涌",
					"唧唧歪歪",
					"五雷咒",
					"龙卷雨击"
				}
			}
			local 附加类型 = ""

			if 数据.点化效果 ~= nil and 数据.点化效果 ~= "" and tonumber(数据.点化效果) == nil then
				for i = 1, #套装效果.附加状态 do
					if 套装效果.附加状态[i] == 数据.点化效果 then
						附加类型 = "附加状态"

						break
					end
				end

				if 附加类型 == "" then
					for i = 1, #套装效果.追加法术 do
						if 套装效果.追加法术[i] == 数据.点化效果 then
							附加类型 = "追加法术"

							break
						end
					end
				end
			end

			if 附加类型 ~= "" then
				玩家数据[玩家id].道具.数据[道具编号].套装效果 = {
					附加类型,
					数据.点化效果
				}
			end

			if 数据.是否专用 ~= nil and 数据.是否专用 ~= "" and type(数据.是否专用) == "string" and 数据.是否专用 == "是" then
				玩家数据[玩家id].道具.数据[道具编号].专用 = 玩家id
				玩家数据[玩家id].道具.数据[道具编号].不可交易 = true
			end

			常规提示(id, "#Y/发放定制装备成功！")
			常规提示(玩家id, "#Y/你获得了" .. 玩家数据[玩家id].道具.数据[道具编号].名称)
			道具刷新(玩家id)

			道具 = nil
		elseif 序号 == 6210 then
			local 临时格子 = 玩家数据[玩家id].角色:取道具格子()

			if 临时格子 == 0 then
				常规提示(id, "#Y/对方背包已满！")

				return
			end

			if type(数据.主属类型) ~= "string" or type(数据.附加类型1) ~= "string" or type(数据.附加类型2) ~= "string" or type(数据.附加类型3) ~= "string" or type(数据.附加类型4) ~= "string" then
				常规提示(id, "#Y/类型只能为数字！")

				return
			end

			local 属性检查 = false

			for i = 1, #灵饰属性[数据.类型].主属性 do
				if 灵饰属性[数据.类型].主属性[i] == 数据.主属类型 then
					属性检查 = true
				end
			end

			if 属性检查 == false then
				常规提示(id, "#Y/请检查主属性的类型是否正确！")

				return
			end

			local 属性检查 = false

			for i = 1, #灵饰属性[数据.类型].副属性 do
				if 灵饰属性[数据.类型].副属性[i] == 数据.附加类型1 then
					属性检查 = true
				end
			end

			if 属性检查 == false then
				常规提示(id, "#Y/请检查副属性1的类型是否正确！")

				return
			end

			local 属性检查 = false

			for i = 1, #灵饰属性[数据.类型].副属性 do
				if 灵饰属性[数据.类型].副属性[i] == 数据.附加类型2 then
					属性检查 = true
				end
			end

			if 属性检查 == false then
				常规提示(id, "#Y/请检查副属性2的类型是否正确！")

				return
			end

			local 属性检查 = false

			for i = 1, #灵饰属性[数据.类型].副属性 do
				if 灵饰属性[数据.类型].副属性[i] == 数据.附加类型3 then
					属性检查 = true
				end
			end

			if 属性检查 == false then
				常规提示(id, "#Y/请检查副属性3的类型是否正确！")

				return
			end

			local 属性检查 = false

			for i = 1, #灵饰属性[数据.类型].副属性 do
				if 灵饰属性[数据.类型].副属性[i] == 数据.附加类型4 then
					属性检查 = true
				end
			end

			if 属性检查 == false then
				常规提示(id, "#Y/请检查副属性4的类型是否正确！")

				return
			end

			local 临时等级 = 数据.灵饰等级 + 0

			if 临时等级 >= 140 then
				临时等级 = 140
			elseif 临时等级 >= 120 then
				临时等级 = 120
			elseif 临时等级 >= 100 then
				临时等级 = 100
			elseif 临时等级 >= 80 then
				临时等级 = 80
			elseif 临时等级 >= 60 then
				临时等级 = 60
			else
				临时等级 = 60
			end

			local 临时名称 = 制造装备[数据.类型][临时等级]
			local 道具 = 物品类()

			道具:置对象(临时名称)

			道具.级别限制 = 临时等级
			道具.幻化等级 = 0
			道具编号 = 玩家数据[玩家id].道具:取新编号()
			玩家数据[玩家id].道具.数据[道具编号] = 道具
			玩家数据[玩家id].角色.数据.道具[临时格子] = 道具编号
			玩家数据[玩家id].道具.数据[道具编号].耐久 = 500
			玩家数据[玩家id].道具.数据[道具编号].部位类型 = 数据.类型
			玩家数据[玩家id].道具.数据[道具编号].制造者 = "GM定制装备"
			玩家数据[玩家id].道具.数据[道具编号].灵饰 = true
			玩家数据[玩家id].道具.数据[道具编号].特效 = {
				"无级别限制"
			}
			玩家数据[玩家id].道具.数据[道具编号].幻化属性 = {
				附加 = {}
			}
			玩家数据[玩家id].道具.数据[道具编号].识别码 = 玩家id .. "_" .. os.time() .. "_" .. 取随机数(1, 999) .. "_" .. id
			玩家数据[玩家id].道具.数据[道具编号].幻化属性.基础 = {
				强化 = 0,
				类型 = 数据.主属类型,
				数值 = 数据.主属数值 + 0
			}
			玩家数据[玩家id].道具.数据[道具编号].幻化属性.附加[1] = {
				强化 = 0,
				类型 = 数据.附加类型1,
				数值 = 数据.附加数额1 + 0
			}
			玩家数据[玩家id].道具.数据[道具编号].幻化属性.附加[2] = {
				强化 = 0,
				类型 = 数据.附加类型2,
				数值 = 数据.附加数额2 + 0
			}
			玩家数据[玩家id].道具.数据[道具编号].幻化属性.附加[3] = {
				强化 = 0,
				类型 = 数据.附加类型3,
				数值 = 数据.附加数额3 + 0
			}
			玩家数据[玩家id].道具.数据[道具编号].幻化属性.附加[4] = {
				强化 = 0,
				类型 = 数据.附加类型4,
				数值 = 数据.附加数额4 + 0
			}
			道具 = nil

			道具刷新(玩家id)
			常规提示(id, "#Y/发放定制装备成功！")
		elseif 序号 == 6211 then
			发送数据(玩家数据[id].连接id, 144.2, 玩家数据[玩家id].召唤兽:取存档数据())
		elseif 序号 == 6212 then
			local 编号 = 数据.编号

			if 玩家数据[玩家id].召唤兽.数据[编号] == nil then
				常规提示(id, "#Y/操作的该召唤兽不存在请重新获取信息！")

				return
			end

			if tonumber(数据.宠物等级) ~= nil then
				if 玩家数据[玩家id].召唤兽.数据[编号].等级 < 数据.宠物等级 + 0 then
					local 等级差 = 数据.宠物等级 - 玩家数据[玩家id].召唤兽.数据[编号].等级
					玩家数据[玩家id].召唤兽.数据[编号].等级 = 数据.宠物等级 + 0
					玩家数据[玩家id].召唤兽.数据[编号].潜力 = 等级差 * 5
					玩家数据[玩家id].召唤兽.数据[编号].体质 = 玩家数据[玩家id].召唤兽.数据[编号].体质 + 等级差
					玩家数据[玩家id].召唤兽.数据[编号].魔力 = 玩家数据[玩家id].召唤兽.数据[编号].魔力 + 等级差
					玩家数据[玩家id].召唤兽.数据[编号].力量 = 玩家数据[玩家id].召唤兽.数据[编号].力量 + 等级差
					玩家数据[玩家id].召唤兽.数据[编号].耐力 = 玩家数据[玩家id].召唤兽.数据[编号].耐力 + 等级差
					玩家数据[玩家id].召唤兽.数据[编号].敏捷 = 玩家数据[玩家id].召唤兽.数据[编号].敏捷 + 等级差
				elseif 玩家数据[玩家id].召唤兽:是否有装备(编号) == false and 玩家数据[玩家id].召唤兽.数据[编号].种类 ~= nil and 玩家数据[玩家id].召唤兽.数据[编号].种类 ~= "野怪" then
					local 等级差 = 玩家数据[玩家id].召唤兽.数据[编号].等级 - 数据.宠物等级

					玩家数据[玩家id].召唤兽:降级(等级差, 编号)
				end
			end

			if tonumber(数据.宠物成长) ~= nil then
				玩家数据[玩家id].召唤兽.数据[编号].成长 = 数据.宠物成长 + 0
			end

			if tonumber(数据.宠物寿命) ~= nil then
				玩家数据[玩家id].召唤兽.数据[编号].寿命 = 数据.宠物寿命 + 0
			end

			if tonumber(数据.内丹上限) ~= nil then
				local 增加内丹 = 数据.内丹上限 - 玩家数据[玩家id].召唤兽.数据[编号].内丹.内丹上限
				玩家数据[玩家id].召唤兽.数据[编号].内丹.内丹上限 = 数据.内丹上限 + 0
				玩家数据[玩家id].召唤兽.数据[编号].内丹.可用内丹 = 玩家数据[玩家id].召唤兽.数据[编号].内丹.可用内丹 + 增加内丹
			end

			if tonumber(数据.攻击资质) ~= nil then
				玩家数据[玩家id].召唤兽.数据[编号].攻击资质 = 数据.攻击资质 + 0
			end

			if tonumber(数据.防御资质) ~= nil then
				玩家数据[玩家id].召唤兽.数据[编号].防御资质 = 数据.防御资质 + 0
			end

			if tonumber(数据.体力资质) ~= nil then
				玩家数据[玩家id].召唤兽.数据[编号].体力资质 = 数据.体力资质 + 0
			end

			if tonumber(数据.法力资质) ~= nil then
				玩家数据[玩家id].召唤兽.数据[编号].法力资质 = 数据.法力资质 + 0
			end

			if tonumber(数据.速度资质) ~= nil then
				玩家数据[玩家id].召唤兽.数据[编号].速度资质 = 数据.速度资质 + 0
			end

			if tonumber(数据.躲闪资质) ~= nil then
				玩家数据[玩家id].召唤兽.数据[编号].躲闪资质 = 数据.躲闪资质 + 0
			end

			if 数据.宠物种类 ~= "" and (数据.宠物种类 == "宝宝" or 数据.宠物种类 == "变异" or 数据.宠物种类 == "神兽" or 数据.宠物种类 == "野怪") then
				玩家数据[玩家id].召唤兽.数据[编号].种类 = 数据.宠物种类
			end

			if 数据.宠物造型 ~= "" and (取神兽资质(数据.宠物造型)[1] ~= nil or 取宝宝(数据.宠物造型)[1] ~= nil) then
				玩家数据[玩家id].召唤兽.数据[编号].模型 = 数据.宠物造型

				if 玩家数据[玩家id].召唤兽.数据[编号].进阶 then
					玩家数据[玩家id].召唤兽.数据[编号].进阶 = false
				end
			end

			常规提示(id, "#Y/修改召唤兽资质属性成功！")
		elseif 序号 == 6213 then
			local 编号 = 数据.编号

			if 玩家数据[玩家id].召唤兽:洗点处理1(编号) then
				常规提示(id, "#Y/重置召唤兽属性成功！")
			else
				常规提示(id, "#Y/对方召唤兽身上有装备！")
			end
		elseif 序号 == 6214 then
			for i = 1, #数据.技能 do
				if self:取要诀(数据.技能[i]) == "" then
					常规提示(id, "#Y/请检查输入的技能是否有误！错误技能为【#P" .. 数据.技能[i] .. "#Y】")

					return
				end
			end

			local 编号 = 数据.编号

			for i = 1, #数据.技能 do
				玩家数据[玩家id].召唤兽.数据[编号].技能[i] = 数据.技能[i]
			end

			常规提示(id, "#Y/修改召唤兽技能成功！")
		elseif 序号 == 6215 then
			local 类型 = 数据.类型

			if 类型 == "修改经验" then
				服务端参数.经验获得率 = 数据.内容 + 0

				f函数.写配置(程序目录 .. "配置文件.ini", "主要配置", "经验", 数据.内容)
				常规提示(id, "#Y/修改经验倍数成功,当前经验倍数！" .. 服务端参数.经验获得率 .. "倍")
			elseif 类型 == "修改难度" then
				服务端参数.难度 = 数据.内容 + 0

				f函数.写配置(程序目录 .. "配置文件.ini", "主要配置", "难度", 数据.内容)
				常规提示(id, "#Y/修改经验倍数成功,当前难度系数！" .. 服务端参数.难度)
			elseif 类型 == "发送公告" then
				发送公告("#G" .. 数据.内容)
				常规提示(id, "#Y/发送公告成功！")
			elseif 类型 == "在线奖励" then
				for i, v in pairs(玩家数据) do
					if 玩家数据[i] ~= nil and 玩家数据[i].管理 == nil then
						玩家数据[i].道具:发放在线奖励(i)
					end
				end

				常规提示(id, "#Y/发放在线奖励成功！")
			elseif 类型 == "在线玩家" then
				常规提示(id, "#Y/当前在线玩家:" .. __N连接数)
			elseif 类型 == "比武报名" then
				开启比武报名()
				常规提示(id, "#Y/比武报名开启成功！！！")
			elseif 类型 == "比武入场" then
				开启比武大会进场()
				常规提示(id, "#Y/比武入场开启成功！！！")
			elseif 类型 == "结束比武" then
				结束比武大会()
				常规提示(id, "#Y/已结束比武大会！！！")
			elseif 类型 == "首席报名" then
				开启首席争霸报名()
				常规提示(id, "#Y/首席报名开启成功！！！")
			elseif 类型 == "首席入场" then
				开启首席争霸进场()
				常规提示(id, "#Y/首席入场开启成功！！！")
			elseif 类型 == "关闭首席" then
				结束首席争霸(2)
				常规提示(id, "#Y/已结束首席争霸！！！")
			elseif 类型 == "帮战报名" then
				开启帮战报名()
				常规提示(id, "#Y/帮战报名开启成功！！！")
			elseif 类型 == "帮战入场" then
				开启帮派竞赛进场()
				常规提示(id, "#Y/帮战入场开启成功！！！")
			elseif 类型 == "结束帮战" then
				结束帮派竞赛()
				常规提示(id, "#Y/已结束帮派竞赛！！！")
			end
		end
	end
end

function 管理工具类:取装备(类型)
	local 物品表 = {
		"枪矛",
		"斧钺",
		"剑",
		"双短剑",
		"飘带",
		"爪刺",
		"扇",
		"魔棒",
		"锤",
		"鞭",
		"环圈",
		"刀",
		"法杖",
		"弓弩",
		"宝珠",
		"巨剑",
		"伞",
		"灯笼",
		"头盔",
		"发钗",
		"项链",
		"女衣",
		"男衣",
		"腰带",
		"鞋子"
	}

	for i = 1, #物品表 do
		if 物品表[i] == 类型 then
			return i
		end
	end

	return 0
end

function 管理工具类:取符石(名称)
	local 符石 = {}
	符石 = {
		"冰符石",
		"土符石",
		"雷符石",
		"电符石",
		"风符石",
		"炎符石",
		"火符石"
	}

	for i = 1, #符石 do
		if 符石[i] == 名称 then
			return 1
		end
	end

	符石 = {
		"碧玉符石",
		"金光符石",
		"天神符石",
		"飘渺符石",
		"天仙符石",
		"霞光符石",
		"逍遥符石"
	}

	for i = 1, #符石 do
		if 符石[i] == 名称 then
			return 2
		end
	end

	符石 = {
		"虹珀符石",
		"陌影符石",
		"北冥符石",
		"灵月符石",
		"锦瑟符石",
		"银光符石",
		"清心符石",
		"星辰符石",
		"雪月符石",
		"玄魂符石",
		"乾坤符石",
		"珍珀符石",
		"银竹符石",
		"神川符石",
		"玲珑符石",
		"暮影符石",
		"天珍符石",
		"九影符石",
		"百冥符石",
		"莫念符石",
		"醉魂符石",
		"玄羽符石",
		"霸风符石",
		"无相符石",
		"无极符石",
		"紫晶符石",
		"圣火符石",
		"昔光符石",
		"子蚀符石",
		"流风符石",
		"地炎符石",
		"素影符石",
		"燕灵符石",
		"降龙符石",
		"苍玉符石",
		"流魂符石",
		"九凤符石",
		"墨陀符石",
		"南夕符石",
		"引幽符石",
		"波涛符石",
		"铃星符石",
		"狂念符石",
		"乱花符石",
		"幽月符石",
		"两仪符石",
		"七情符石",
		"召影符石"
	}

	for i = 1, #符石 do
		if 符石[i] == 名称 then
			return 3
		end
	end

	return 0
end

function 管理工具类:取阵法(名称)
	local 阵法信息 = {
		nil,
		nil,
		nil,
		"风扬阵",
		"虎翼阵",
		"天覆阵",
		"云垂阵",
		"鸟翔阵",
		"地载阵",
		"龙飞阵",
		"蛇蟠阵",
		"鹰啸阵",
		"雷绝阵"
	}

	for i = 4, 13 do
		if 阵法信息[i] == 名称 then
			return true
		end
	end

	return false
end

function 管理工具类:取变身卡(名称)
	local 变身卡数据 = {
		{
			"野猪",
			"巨蛙",
			"大海龟",
			"树怪",
			"赌徒",
			"大蝙蝠",
			"强盗",
			"山贼",
			"海毛虫",
			"护卫",
			"海星",
			"章鱼",
			"狸"
		},
		{
			"骷髅怪",
			"羊头怪",
			"黑熊",
			"蛤蟆精",
			"狐狸精",
			"花妖",
			"老虎"
		},
		{
			"牛妖",
			"小龙女",
			"野鬼",
			"狼",
			"虾兵",
			"蟹将"
		},
		{
			"兔子怪",
			"蜘蛛精",
			"僵尸",
			"黑熊精",
			"龟丞相",
			"牛头",
			"马面"
		},
		{
			"古代瑞兽",
			"雷鸟人",
			"蝴蝶仙子",
			"白熊",
			"黑山老妖",
			"进阶古代瑞兽",
			"进阶雷鸟人",
			"进阶蝴蝶仙子",
			"进阶白熊",
			"进阶黑山老妖"
		},
		{
			"天兵",
			"天将",
			"地狱战神",
			"风伯",
			"凤凰",
			"碧水夜叉",
			"雨师",
			"蚌精",
			"鲛人",
			"蛟龙",
			"进阶天兵",
			"进阶天将",
			"进阶地狱战神",
			"进阶风伯",
			"进阶凤凰",
			"进阶碧水夜叉",
			"进阶雨师",
			"进阶蚌精",
			"进阶鲛人",
			"进阶蛟龙"
		},
		{
			"巡游天神",
			"芙蓉仙子",
			"星灵仙子",
			"如意仙子",
			"锦毛貂精",
			"千年蛇魅",
			"百足将军",
			"犀牛将军人形",
			"犀牛将军兽形",
			"野猪精",
			"鼠先锋",
			"泪妖",
			"镜妖",
			"阴阳伞",
			"进阶巡游天神",
			"进阶芙蓉仙子",
			"进阶星灵仙子",
			"进阶如意仙子",
			"进阶锦毛貂精",
			"进阶千年蛇魅",
			"进阶百足将军",
			"进阶犀牛将军人形",
			"进阶犀牛将军兽形",
			"进阶野猪精",
			"进阶鼠先锋",
			"进阶泪妖",
			"进阶镜妖",
			"进阶阴阳伞"
		},
		{
			"律法女娲",
			"炎魔神",
			"画魂",
			"灵符女娲",
			"吸血鬼",
			"巴蛇",
			"净瓶女娲",
			"踏云兽",
			"龙龟",
			"红萼仙子",
			"噬天虎",
			"灵鹤",
			"大力金刚",
			"机关鸟",
			"鬼将",
			"葫芦宝贝",
			"机关人",
			"幽灵",
			"幽萤娃娃",
			"雾中仙",
			"夜罗刹",
			"连弩车",
			"机关兽",
			"琴仙",
			"金铙僧",
			"进阶律法女娲",
			"进阶炎魔神",
			"进阶画魂",
			"进阶灵符女娲",
			"进阶吸血鬼",
			"进阶巴蛇",
			"进阶净瓶女娲",
			"进阶踏云兽",
			"进阶龙龟",
			"进阶红萼仙子",
			"进阶噬天虎",
			"进阶灵鹤",
			"进阶大力金刚",
			"进阶机关鸟",
			"进阶鬼将",
			"进阶葫芦宝贝",
			"进阶机关人",
			"进阶幽灵",
			"进阶幽萤娃娃",
			"进阶雾中仙",
			"进阶夜罗刹",
			"进阶连弩车",
			"进阶机关兽",
			"进阶琴仙",
			"进阶金铙僧"
		},
		{
			"混沌兽",
			"猫灵人形",
			"猫灵兽形",
			"狂豹人形",
			"狂豹兽形",
			"蝎子精",
			"蜃气妖",
			"曼珠沙华",
			"长眉灵猴",
			"巨力神猿",
			"金身罗汉",
			"藤蔓妖花",
			"修罗傀儡鬼",
			"修罗傀儡妖",
			"毗舍童子",
			"持国巡守",
			"真陀护法",
			"增长巡守",
			"灵灯侍者",
			"般若天女",
			"进阶进阶混沌兽",
			"进阶猫灵人形",
			"进阶猫灵兽形",
			"进阶狂豹人形",
			"进阶狂豹兽形",
			"进阶蝎子精",
			"进阶蜃气妖",
			"进阶曼珠沙华",
			"进阶长眉灵猴",
			"进阶巨力神猿",
			"进阶金身罗汉",
			"进阶藤蔓妖花",
			"进阶修罗傀儡鬼",
			"进阶修罗傀儡妖",
			"进阶毗舍童子",
			"进阶持国巡守",
			"进阶真陀护法",
			"进阶增长巡守",
			"进阶灵灯侍者",
			"进阶般若天女"
		}
	}

	for i = 1, 9 do
		for n = 1, #变身卡数据[i] do
			if 变身卡数据[i][n] == 名称 then
				return i
			end
		end
	end

	return 0
end

function 管理工具类:取内丹(名称)
	local 普通内丹 = {
		"迅敏",
		"狂怒",
		"阴伤",
		"静岳",
		"擅咒",
		"灵身",
		"矫健",
		"深思",
		"钢化",
		"坚甲",
		"慧心",
		"撞击",
		"无畏",
		"愤恨",
		"淬毒",
		"狙刺",
		"连环",
		"圣洁",
		"灵光"
	}
	local 高级内丹 = {
		"神机步",
		"腾挪劲",
		"玄武躯",
		"龙胄铠",
		"玉砥柱",
		"碎甲刃",
		"阴阳护",
		"凛冽气",
		"舍身击",
		"电魂闪",
		"通灵法",
		"双星爆",
		"催心浪",
		"隐匿击",
		"生死决",
		"血债偿"
	}
	local 类型 = ""

	for i = 1, #普通内丹 do
		if 普通内丹[i] == 名称 then
			类型 = "召唤兽内丹"

			return 类型
		end
	end

	for i = 1, #高级内丹 do
		if 高级内丹[i] == 名称 then
			类型 = "高级召唤兽内丹"

			return 类型
		end
	end

	return 类型
end

function 管理工具类:取要诀(名称)
	if 全部兽决1[名称] ~= nil or 超级技能列表1[名称] ~= nil then
		return "魔兽要诀"
	end

	return ""
end

function 管理工具类:取日志数量(账号, id)
	local 读取文件 = 读入文件("data/" .. 账号 .. "/" .. id .. "/角色.txt")
	local 还原数据 = table.loadstring(读取文件)

	return 还原数据.日志编号
end

function 管理工具类:更新(dt)
end

function 管理工具类:显示(x, y)
end

return 管理工具类
